// 1.引包
var express = require('express')
var fs = require('fs')
var path = require('path')
var bodyParser = require('body-parser')
var session = require('express-session')


var router = require('./router.js')
// 2.创建一个express的实例app
var app = express()

// 使用express的模板引擎进行界面渲染，界面默认在views这个文件夹下面
app.engine('html', require('express-art-template'))

//使用这个插件来进行对post请求的解析，req中已自动生成相关属性
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())

// 配置session,之后便可以通过req.session（这是一个对象） 来访问和设置session成员
// 添加session数据  req.session.属性 = 值
// 访问session数据  req.session.属性
app.use(session({
    secret: 'keyboard cat',//这是session的加密字符串，会在原有的加密基础上
    // 和这个自己设置的字符串拼起来再加密
    resave: false,
    saveUninitialized: true //这里设为true即就算不使用session那么也会默认分配一个
    // connect_sid ,设为false则只有往session里存放数据时才会分配这个id
}))

// 3.开放一些静态资源
// 在这里使用__dirname可以保证代码的健壮性，因为文件操作的路径不是针对当前文件的相对路径
app.use('/public/', express.static(path.join(__dirname, './public/')))
app.use('/node_modules/', express.static(path.join(__dirname, './node_modules/')))

// 把路由对象挂载到app这个实例身上
app.use(router)

app.listen(4000, function () {
    console.log('running...')
})